package com.yizhuoyan.his.service.pharmacyoperator;

import com.yizhuoyan.his.ao.DrugAo;
import com.yizhuoyan.his.entity.HosDrugsEntity;
import com.yizhuoyan.his.entity.SysConstantEntity;
import org.springframework.lang.NonNull;

import java.util.List;

/**
 * 药品管理相关服务
 */
public interface DrugManageService {
    /**
     * 给我一个DrugAo  我帮你去增加相应的药品
     * @param ao
     * @throws Exception
     */
    void  addDrug(DrugAo ao) throws  Exception;

    /**
     * 给我一个id  ,我帮你去删除相应的药品
     * @param id
     * @throws Exception
     */
    void removeDrug( Long id)throws Exception;

    /**
     * 给我一个id 帮你查询出一个DrugEntity
     * @param id
     * @return
     * @throws Exception
     */
    HosDrugsEntity queryDrug(Long id) throws  Exception;

    /**
     * 给我一个ao  我去组装 相应的map  去进行修改
     * @param ao
     * @param id
     * @throws Exception
     */
    void modifyDrug(Long id, DrugAo ao) throws  Exception;

    /**
     *
     * @return返回对各药品类型
     * @throws Exception
     */
    List<SysConstantEntity>  queryDrugsType() throws  Exception;

    /**
     *
     * @return返回各个药剂剂型
     * @throws Exception
     */
    List<SysConstantEntity>  queryDrugsDosage() throws  Exception;
}
